package cn.b.sky.mes.pp.model;

import cn.b.sky.common.utils.DateUtils;
import cn.b.sky.mes.cm.model.ProcessOperation;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.text.ParseException;
import java.util.Date;
import java.util.List;

/**
 * <strong>Title : ProductionControl.java<br></strong>
 * <strong>Package : cn.b.sky.mes.pp.model<br></strong>
 * <strong>Description : </strong>生产管理号实体<br>
 * <strong>Create on : 2016年5月13日 上午10:25:03<br></strong>
 * <p>
 *
 * @author zhaoxin01<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人|修改日期|修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
@Data
public class ProductionControl extends ProductionOrder implements Serializable {
    /**
     * @Fields serialVersionUID
     * @creator :zhaoxin01
     */
    private static final long serialVersionUID = 7714111632894093784L;

    private String productionControlNum;//生产管理号

    /**
     * nVARCHAR2(20) 工作中心编号
     */
    private String workCenterCode;

    /**
     * 工作中心类型名称
     */
    private String workCenterTypeText;

    /**
     * 工作中心名称
     */
    private String workCenterText;

    private String eCodeType;

    /**
     * 用于状态数量预查询
     */
    private Integer statusCount;

    /**
     * Date 实际开始时间String
     */
    private String actualStartDateTimeStr = "";

    /**
     * Date 实际结束时间String
     */
    private String actualEndDateTimeStr = "";

    /**
     * 耗时
     */
    private String takeTime;

    /**
     * nVARCHAR2(30) 订单状态
     */
    private String statusECode1;

    /**
     * 工序级排产
     */
    private Integer operationScheduleFlag;

    /**
     * 生产工序列表
     */
    List<ProcessOperation> processOperations;

    public String getTakeTime() {
        if (null == super.getActualstartDateTime()
                || null == super.getActualendDateTime()) {
            return "";
        }
        return DateUtils.getDateUtils().getHSMStrByTwoDate(super.getActualstartDateTime(), super.getActualendDateTime());
    }

}
